/*public class Test {
}
    解题思路：
    按照题目所说，进行k次旋转，每次旋转移动一个字符
    注意：k如果超过nums的长度时，对k取模
    时间复杂度: O(KN)
    思路没有问题，但是会时间复杂度会超

class Solution {
    public void rotate(int[] nums, int k) {
        k %= nums.length;
        for(int i = 0; i < k; ++i){
            // 将数组中前n-1个元素整体往后搬移一个位置
            int last = nums[nums.length-1];
            for(int j = nums.length-1; j >= 1; --j){
                nums[j] = nums[j-1];
            }
            // 将搬移前最后一个元素放到数组0号位置
            nums[0] = last;
        }
    }
}
  解题思路：使用三次逆转法，让数组旋转k次
    1. 整体逆置
    2. 逆转子数组[0, k - 1]
    3. 逆转子数组[k, size - 1]
class Solution {
    void rotate(int[] nums, int left, int right){
        while(left < right){
            int temp = nums[left];
            nums[left] = nums[right];
            nums[right] = temp;
            left++;
            right--;
        }
    }
    public void rotate(int[] nums, int k) {
        k %= nums.length;
        rotate(nums, 0, nums.length-1);
        rotate(nums, 0, k-1);
        rotate(nums, k, nums.length-1);
    }
}*/




public class Test {
    public static void main(String[] args) {
        MyArrayList my =new MyArrayList();
        my.add(1);
        my.add(2);
        my.add(3);
        my.add(3,100);
        System.out.println(my.contains(2));
        System.out.println(my.get(0));
          my.display();
    }
}



































